package shared.pojo
import upickle.default._

import scala.collection.immutable.SeqMap
import shared.Implicits._

/** Created by yz on 28/11/2023
  */
object Browse {

  case class BioSampleInfo(bioSample: String, attributes: ujson.Obj)

  object BioSampleInfo {
    implicit val rw = macroRW[BioSampleInfo]
  }

  case class AssemblyInfo(
      assembly: String = "",
      name: String = "",
      summary: ujson.Value = ujson.Obj(),
      genomeAnnoData: ujson.Value = ujson.Obj()
  )

  object AssemblyInfo {
    implicit val rw = macroRW[AssemblyInfo]
  }

  object GetFileData {

    case class Request(fileName: String, id: String)

    object Request {
      implicit val rw = macroRW[Request]
    }

    case class Response(map: SeqMap[String, String], array: List[Map[String, String]])

    object Response {
      implicit val rw = macroRW[Response]
    }

  }

}
